#pragma once
#include "SimpleCanvas.h"
#include "include/core/SkColor.h"
#include "include/core/SkTypeface.h"

namespace yzrilyzr_simplecanvas{
	EBCLASS(Theme){
	private:
	static sk_sp<SkTypeface> defaultTypeface;
	public:
	static void loadTheme();
	static sk_sp<SkTypeface> getDefaultTypeface(){
		return defaultTypeface;
	}
	static SkColor getDefaultDisabledColor(){
		return 0xff909090;
	}
	static SkColor getDefaultTextColor(){
		return 0xff000000;
	}
	static void setDefaultTypeface(sk_sp<SkTypeface> typeface){
		defaultTypeface=std::move(typeface); // 使用 std::move
		if(!defaultTypeface){
			std::cout << "Warning: Setting null typeface!" << std::endl;
		}
	}
	static void loadTypeface(const std::string & path);
	};
}